package org.facyt.vacas.entities.vacas;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "composicion_mp", schema="vacas")
public class ComponenteValor implements Serializable {
	
	@Id
	@SequenceGenerator(name="composicion_mp_seq", sequenceName="vacas.composicion_mp_id_seq")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="composicion_mp_seq")
	@Column(name="id")
	private Integer id;
	
	//la cantidad que aporta el componente a la mp.
	@Column(name="cantidad", columnDefinition="float4")
	private BigDecimal cantidad;
	
	//por defecto false.
	@Column(name="se_usa")
	private Boolean seusa;
	
	@ManyToOne()
    @JoinColumn(name="fk_materia_prima")
	private MateriaPrima materiaprima;
	
	//componente
	@ManyToOne()
    @JoinColumn(name="fk_componente")
	private Componente componente;
	
	
	public void setComponente(Componente componente) {
		this.componente = componente;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Boolean getSeusa() {
		return seusa;
	}

	public void setSeusa(Boolean seusa) {
		this.seusa = seusa;
	}

	public MateriaPrima getMateriaprima() {
		return materiaprima;
	}

	public void setMateriaprima(MateriaPrima materiaprima) {
		this.materiaprima = materiaprima;
	}

	public void rsMayorigual(Componente componente) {
		this.componente = componente;
	}
	
	public Componente getComponente() {
		return componente;
	}

	public BigDecimal getCantidad() {
		return cantidad;
	}

	public void setCantidad(BigDecimal cantidad) {
		this.cantidad = cantidad;
	}

	public ComponenteValor()
	{
		
	}
	
	public boolean equals(ComponenteValor c)
	{
		return(c.getComponente().getId() == this.getId());
	}
	
	public String toString()
	{
		return getCantidad().toString();
	}
}
